package cn.lijida.weiwei.favor.modules.account.entity;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.baomidou.mybatisplus.annotation.TableId;

import cn.lijida.weiwei.favor.commons.validator.AddGroup;
import cn.lijida.weiwei.favor.commons.validator.UpdateGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 账簿
 * </p>
 *
 * @author jobob
 * @since 2019-12-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class FavorAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 账簿编号
     */
    @TableId
    @NotNull(message = "账簿编号不能为空", groups = UpdateGroup.class)
    private Long accountId;

    /**
     * 账簿名称
     */
    @NotBlank(message = "账簿名称不能为空", groups = AddGroup.class)
    private String accountName;

    /**
     * 账簿类型
     */
    @NotNull(message = "账簿类型不能为空", groups = AddGroup.class)
    private Short accountType;

    /**
     * 账簿时间
     */
    @NotNull(message = "账簿时间不能为空", groups = AddGroup.class)
    private Date accountDate;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 创建家庭
     */
    @NotNull(message = "创建家庭编号不能为空", groups = AddGroup.class)
    private Long createHome;

    /**
     * 创建成员
     */
    private Long createMember;

    /**
     * 删除标记
     */
    private Boolean delFalg;

    /**
     * 账簿状态
     */
    private Boolean accountStatus;
}
